﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using SchoolsBI;

public partial class Profesor_profesores : System.Web.UI.Page
{
    static Profesor oProfesor = new Profesor();
    static Usuario oUser = new Usuario();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack) { FillGrid(); }
    }
    protected void cmdAccion_Click(object sender, EventArgs e)
    {
        Save();
        FillGrid();
        Clear();
    }

    private void FillGrid()
    {
        GridView1.DataSource = Profesor.Tabla("select IdProfesor, Apellido, Nombre from dbo.Profesor order by 2");
        GridView1.DataKeyNames = new string[] { "IdProfesor" };
        GridView1.AutoGenerateColumns = false;
        GridView1.DataBind();
        cmdAccion.Text = "Nuevo";
        

    }

    void Save(){
        switch (cmdAccion.Text) { 
            case "Nuevo":
                FormToObjet();
                oProfesor.Crear();
                SetUsuario();
                break;
            case "Modificar":
                FormToObjet();
                oProfesor.Actualizar();
                SetUsuario();
                break;
            case "Eliminar":
                oProfesor.Borrar();
                oUser.Borrar();
                break;
        }
    }

    private void SetUsuario()
    {

        bool bCrear=false;

        if (oUser == null)
        {
            oUser = new Usuario();
            bCrear = true;
        }

        oUser.Apellido = oProfesor.Apellido;
        oUser.Nombre = oProfesor.Nombre;
        oUser.IdProfesor = oProfesor.IdProfesor;
        oUser.Login = txtUsuario.Text;
        oUser.Pass = txtClave.Text;
        oUser.Habilitado = 1;
        oUser.IdPerfil = 1;

        if (bCrear)
        {
            oUser.Crear();
        }else{
            oUser.Actualizar();
        }

        
    }

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {

        oProfesor = Profesor.Buscar("IdProfesor=" + GridView1.SelectedValue.ToString());
        showData();
        cmdAccion.Text = "Modificar";
    }
    
    void showData(){
        ObjetToForm();
    }

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        oProfesor = Profesor.Buscar("IdProfesor=" + GridView1.DataKeys[e.RowIndex].Value);
        showData();
        cmdAccion.Text = "Eliminar";
    }

    protected void GridView1_PageIndexChanged(object sender, EventArgs e)
    {
        
    }
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        Clear();
    }
    void FormToObjet()
    {
        //oProfesor.IdProfesor = txtIdProfesor.Text;
        oProfesor.Apellido = txtApellido.Text;
        oProfesor.Nombre = txtNombre.Text;
        oProfesor.Domicilio = txtDomicilio.Text;
        oProfesor.Telefono = txtTelefono.Text;
        oProfesor.Email = txtEmail.Text;
        if (txtNroDocumento.Text.Length > 0)
        {
            oProfesor.NroDocumento = txtNroDocumento.Text;
            oProfesor.IdTipoDoc = TipoDocumento1.Value;
            oProfesor.FechaNacimiento = txtFechaNacimiento.Text;
        }
        oProfesor.Activo = 1;
    }
    void ObjetToForm()
    {
        txtIdProfesor.Text =Convert.ToString( oProfesor.IdProfesor);
        txtApellido.Text = oProfesor.Apellido;
        txtNombre.Text = oProfesor.Nombre;
        txtDomicilio.Text = oProfesor.Domicilio;
        txtTelefono.Text = oProfesor.Telefono;
        txtEmail.Text = oProfesor.Email;
        txtNroDocumento.Text = Convert.ToString(oProfesor.NroDocumento);
        TipoDocumento1.Value= Convert.ToString(oProfesor.IdTipoDoc);
        txtFechaNacimiento.Text = oProfesor.FechaNacimiento;
        txtActivo.Text = Convert.ToString(oProfesor.Activo);
        
        oUser= Usuario.Buscar("idProfesor = " + oProfesor.IdProfesor);
        if (oUser!=null)
        {
            txtUsuario.Text = oUser.Login;
            txtClave.Text = oUser.Pass;
        }
        try
        {
            txtBody.Text = "Información para el acceso al Sistema<br/> Usuario:<b>" + oUser.Login + "</b><br/> Clave:<b>" + oUser.Pass + "</b> <br/>Cualquier duda o consulta comunicarse con <mailto>soporte@intschools.org</mailto>";
            txtBody.Visible = true;
            cmdSendMail.Visible = true;
        }
        catch (Exception ex) { }
        
    }

    void Clear()
    {
        txtIdProfesor.Text = "";
        txtApellido.Text = "";
        txtNombre.Text = "";
        txtDomicilio.Text = "";
        txtTelefono.Text = "";
        txtEmail.Text = "";
        txtNroDocumento.Text = "";
        TipoDocumento1.Value = "-1";
        txtFechaNacimiento.Text = "";
        txtActivo.Text = "1";
        txtUsuario.Text = "";
        txtClave.Text = "";
        txtBody.Visible=false;
        cmdSendMail.Visible=false;
    }


protected void  cmdSendMail_Click(object sender, EventArgs e)
{
    if(txtEmail.Text.Length>0){ 
        iMail m = new iMail();
        m.SendMail(txtEmail.Text , txtBody.Text);
        lblMensaje.Text = "Mensaje Enviado";
        Clear();
    }

}
}
